Microprocessors are sophisticated, general purpose logic devices which can be programmed to perform a wide variety of useful control functions in industrial and communications equipment, large scale and medium scale computer peripheral and terminal hardware, automobiles and other transportation media, amusement and educational devices, household appliances and other consumer goods, and the like. Generally, an entire spectrum of microprocessors is available in the commercial marketplace. As the speed of operation increases, the more valuable and more versatile the microprocessor becomes since it is capable of controlling the given operation more efficiently and more accurately, of controlling a greater number of operations simultaneously, and of controlling operations requiring relatively fast response times.
The throughput of any given microprocessor is a function of, among other things, the number of machine cycles required to execute a given set of instructions. In the course of designing any computer system, and in particular a microprocessor, a set of instructions is selected which will provide the anticipated program requirements for the projected market in which the microprocessor system is to be used. The microprocessor, executes each instruction as a sequence of machine cycles, with the more complex instructions consuming a greater number of machine cycles.
The operation of internal circuitry of the microprocessor is synchronized by means of a master clock signal applied to the microprocessor. The master clock signal may actually comprise two or even four clock components/signals (i.e., the microprocessor may be either two-phase or four-phase). During the basic clock cycle known as the machine cycle, a number of internal microprocessor related operations may take place simultaneously including the transfer of digital information from a bus to a register or vice versa, between certain registers, from an address or data buffer to a bus or vice versa, and so forth. Additionally, the individual conductors of a bus may each be set to a predetermined logic level, or the contents of a register may be set to a predetermined logic level.
Sometimes, an internal arrangement is deployed within the information processing unit utilizing a PLL (Phase Lock Loop) circuit which delays the clock signals so that the signals are in specific phase relation with desired clock signals. In other words, instead of the multi-phase clocks, the PLL circuit delivers the clock signals for controlling the logic devices. PLL circuits are usually employed to guarantee duty cycles and phase relationships to an input clock source, and PLLs may be used in microprocessors to multiply an internal clock frequency to a significantly higher internal clock frequency. For example, a typical 100 MHZ microprocessor is usually driven by a 33-66 MHZ external clock which is multiplied via a PLL to increase the clock frequency to 100 MHZ.
Conventional microprocessors can also be controlled by clock signals utilizing semiconductor integrated circuit devices having logic circuits controlled by clock signals such as "A 130 K-Gate CMOS Mainframe Chip Set" ISSCC 87, SESSION VIII,pp. 86-87, 1987 or "A 15MIPS 32b Microprocessor" ISSCC 87, SESSION II, pp. 26-27, 1987. In these microprocessor, an external clock signal input to a pad is formed into an internal clock signal through an input buffer. The clock signal is distributed by a first-stage clock buffer in the form of clock signals, and these signals are further distributed by a second-stage clock buffer in the form of clock signals to control the logic circuit blocks. In this approach, logic circuit blocks which are present throughout the semiconductor integrated circuit device and which are controlled by clock signals are divided into a plurality of blocks and a clock buffer is provided for each of the divided logic circuit blocks to supply a clock signal thereto, thereby enabling a reduction in the load which is driven by each clock buffer.
Numerous technologies and resources have been deployed to advance clocking technology with an emphasis on improving the speed of the microprocessor.
A significant clock related problem with microprocessors is power consumption. Systems for placing the microprocessor in a static or idle state have been developed in order to conserve power consumption. However, if the microprocessor is in an idle state, for example, drawing a minimal amount of power and then suddenly is awakened due to a key stroke or the like, the microprocessor transgresses from minimal speed to full speed almost immediately. This is because the clock signal driving the microprocessor is substantially at full speed when the microprocessor is awakened from an idle state. The current demand of the microprocessor is a function of operating frequency. Accordingly, as the microprocessor speeds rapidly increases from low speed to high speed, current demand by the microprocessor correspondingly increases rapidly.
In order to enable the microprocessor to transition from a minimal power state to a full power state almost instantaneously, large bulk capacitor(s) or complex power supplies are typically required. The large bulk capacitor(s) store sufficient amount of energy such that when the microprocessor is awakened the microprocessor is provided with enough current to sustain operation at full speed until a power supply for the microprocessor can adjust to the change in microprocessor load.
Generally, a microprocessor power supply takes several milliseconds to adjust to a change in microprocessor load. Because the microprocessor typically goes from almost zero power to almost full power in less than or equal to 10 nanoseconds, a capacitor which discharges rapidly is needed in order to sustain power to the microprocessor until the power supply can take over. In order for the capacitor to be able to discharge so rapidly and provide sufficient power for several milliseconds (i.e., the time needed for the power supply to adjust), the capacitor typically is relatively large in size. Attempts have been made to remedy this problem to some extent by making the power supplies more intelligent. However, since the power demand for relatively instantaneous powering of the microprocessor is high, the power supply cannot circumvent the need for the employment of large bulk capacitors without being unduly costly and complicated. A problem with having to use a large bulk capacitor or several smaller capacitors in cascade is that they occupy valuable space which is highly undesirable in this age of miniaturization. Furthermore, electromagnetic fields generated by the capacitor(s) may cause interference and hinder microprocessor performance including that related to speed.
In view of the above, there is a need in the art for a system and method which controls a clock rate of a microprocessor in order to control startup power requirements and avoid the need for large bulk capacitors and/or complex power supplies.